// Symbol definitions
//--------------------------------
#ifndef SYMBOL_H
#define SYMBOL_H

class Sym {
public:
    enum Symbol {
// ASCII
//--------------------------------
        NONE              = 0x00,
        BLACKSMILEY       = 0x01,
        WHITESMILEY       = 0x02,
        HEARTS            = 0x03,
        DIAMONDS          = 0x04,
        CLUBS             = 0x05,
        SPADES            = 0x06,
        BLACKTILE         = 0x07,
        WHITETILE         = 0x08,
        BLACKTILEBIG      = 0x09,
        WHITETILEBIG      = 0x0A,
        MALE              = 0x0B,
        FEMALE            = 0x0C,
        SINGLENOTE        = 0x0D,
        DOUBLENOTE        = 0x0E,
        STAR              = 0x0F,
        RIGHTTRIANGLE     = 0x10,
        LEFTTRIANGLE      = 0x11,
        VERTARROW         = 0x12,
        DOUBLEEXCLAMATION = 0x13,
        PARAGRAPH         = 0x14,
        SECTION           = 0x15,
        CURSOR            = 0x16,
        VERTSTOP          = 0x17,
        UPARROW           = 0x18,
        DOWNARROW         = 0x19,
        RIGHTARROW        = 0x1A,
        LEFTARROW         = 0x1B,
        INEGATION         = 0x1C,
        HORIZARROW        = 0x1D,
        UPTRIANGLE        = 0x1E,
        DOWNTRIANGLE      = 0x1F,
        SPACE             = 0x20,
        EXCLAMATION       = 0x21,
        QUOTATION         = 0x22,
        HASH              = 0x23,
        DOLLAR            = 0x24,
        PERCENT           = 0x25,
        AMPERSAND         = 0x26,
        APOSTROPHE        = 0x27,
        LEFTPARENTHESIS   = 0x28,
        RIGHTPARENTHESIS  = 0x29,
        ASTERISK          = 0x2A,
        ADD               = 0x2B,
        COMMA             = 0x2C,
        SUBTRACT          = 0x2D,
        FULLSTOP          = 0x2E,
        SLASH             = 0x2F,
        ZERO              = 0x30,
        ONE               = 0x31,
        TWO               = 0x32,
        THREE             = 0x33,
        FOUR              = 0x34,
        FIVE              = 0x35,
        SIX               = 0x36,
        SEVEN             = 0x37,
        EIGHT             = 0x38,
        NINE              = 0x39,
        COLON             = 0x3A,
        SEMICOLON         = 0x3B,
        LESSTHAN          = 0x3C,
        EQUAL             = 0x3D,
        GREATERTHAN       = 0x3E,
        QUESTION          = 0x3F,
        AT                = 0x40,
        A                 = 0x41,
        B                 = 0x42,
        C                 = 0x43,
        D                 = 0x44,
        E                 = 0x45,
        F                 = 0x46,
        G                 = 0x47,
        H                 = 0x48,
        I                 = 0x49,
        J                 = 0x4A,
        K                 = 0x4B,
        L                 = 0x4C,
        M                 = 0x4D,
        N                 = 0x4E,
        O                 = 0x4F,
        P                 = 0x50,
        Q                 = 0x51,
        R                 = 0x52,
        S                 = 0x53,
        T                 = 0x54,
        U                 = 0x55,
        V                 = 0x56,
        W                 = 0x57,
        X                 = 0x58,
        Y                 = 0x59,
        Z                 = 0x5A,
        LEFTBRACKET       = 0x5B,
        BACKSLASH         = 0x5C,
        RIGHTBRACKET      = 0x5D,
        CARET             = 0x5E,
        UNDERSCORE        = 0x5F,
        GRAVE             = 0x60,
        LOWA              = 0x61,
        LOWB              = 0x62,
        LOWC              = 0x63,
        LOWD              = 0x64,
        LOWE              = 0x65,
        LOWF              = 0x66,
        LOWG              = 0x67,
        LOWH              = 0x68,
        LOWI              = 0x69,
        LOWJ              = 0x6A,
        LOWK              = 0x6B,
        LOWL              = 0x6C,
        LOWM              = 0x6D,
        LOWN              = 0x6E,
        LOWO              = 0x6F,
        LOWP              = 0x70,
        LOWQ              = 0x71,
        LOWR              = 0x72,
        LOWS              = 0x73,
        LOWT              = 0x74,
        LOWU              = 0x75,
        LOWV              = 0x76,
        LOWW              = 0x77,
        LOWX              = 0x78,
        LOWY              = 0x79,
        LOWZ              = 0x7A,
        LEFTBRACE         = 0x7B,
        PIPE              = 0x7C,
        RIGHTBRACE        = 0x7D,
        TILDE             = 0x7E,

// Extended
//--------------------------------
        CCEDILLA          = 0x80,
        LOWUDIAERESIS     = 0x81,
        LOWEACUTE         = 0x82,
        LOWACIRCUMFLEX    = 0x83,
        LOWADIAERESIS     = 0x84,
        LOWAGRAVE         = 0x85,
        LOWARING          = 0x86,
        LOWCCEDILLA       = 0x87,
        LOWECIRCUMFLEX    = 0x88,
        LOWEDIAERESIS     = 0x89,
        LOWEGRAVE         = 0x8A,
        LOWIDIAERESIS     = 0x8B,
        LOWICIRCUMFLEX    = 0x8C,
        LOWIGRAVE         = 0x8D,
        ADIAERESIS        = 0x8E,
        ARING             = 0x8F,
        EACUTE            = 0x90,
        LOWAE             = 0x91,
        AE                = 0x92,
        LOWOCIRCUMFLEX    = 0x93,
        LOWODIAERESIS     = 0x94,
        LOWOGRAVE         = 0x95,
        LOWUCIRCUMFLEX    = 0x96,
        LOWUGRAVE         = 0x97,
        LOWYDIAERESIS     = 0x98,
        ODIAERESIS        = 0x99,
        UDIAERESIS        = 0x9A,
        CENT              = 0x9B,
        POUND             = 0x9C,
        YEN               = 0x9D,
        PT                = 0x9E,
        LONGF             = 0x9F,
        LOWAACUTE         = 0xA0,
        LOWIACUTE         = 0xA1,
        LOWOACUTE         = 0xA2,
        LOWUACUTE         = 0xA3,
        LOWNTILDE         = 0xA4,
        NTILDE            = 0xA5,
        FEMININE          = 0xA6,
        MASCULINE         = 0xA7,
        IQUESTION         = 0xA8,
        LEFTNEGATION      = 0xA9,
        RIGHTNEGATION     = 0xAA,
        HALF              = 0xAB,
        QUARTER           = 0xAC,
        IEXCLAMATION      = 0xAD,
        LEFTANGLE         = 0xAE,
        RIGHTANGLE        = 0xAF,
        LIGHTTILE         = 0xB0,
        MEDIUMTILE        = 0xB1,
        DARKTILE          = 0xB2,
        WALLSVERT         = 0xB3,
        WALLSVERTSLEFT    = 0xB4,
        WALLSVERTDLEFT    = 0xB5,
        WALLDVERTSLEFT    = 0xB6,
        WALLDDOWNSLEFT    = 0xB7,
        WALLSDOWNDLEFT    = 0xB8,
        WALLDVERTDLEFT    = 0xB9,
        WALLDVERT         = 0xBA,
        WALLDDOWNDLEFT    = 0xBB,
        WALLDUPDLEFT      = 0xBC,
        WALLDUPSLEFT      = 0xBD,
        WALLSUPDLEFT      = 0xBE,
        WALLSDOWNSLEFT    = 0xBF,
        WALLSUPSRIGHT     = 0xC0,
        WALLSUPSHORZ      = 0xC1,
        WALLSDOWNSHORZ    = 0xC2,
        WALLSVERTSRIGHT   = 0xC3,
        WALLSHORZ         = 0xC4,
        WALLSVERTSHORZ    = 0xC5,
        WALLSVERTDRIGHT   = 0xC6,
        WALLDVERTSRIGHT   = 0xC7,
        WALLDUPDRIGHT     = 0xC8,
        WALLDDOWNDRIGHT   = 0xC9,
        WALLDUPDHORZ      = 0xCA,
        WALLDDOWNDHORZ    = 0xCB,
        WALLDVERTDRIGHT   = 0xCC,
        WALLDHORZ         = 0xCD,
        WALLDVERTDHORZ    = 0xCE,
        WALLSUPDHORZ      = 0xCF,
        WALLDUPSHORZ      = 0xD0,
        WALLSDOWNDHORZ    = 0xD1,
        WALLDDOWNSHORZ    = 0xD2,
        WALLDUPSRIGHT     = 0xD3,
        WALLSUPDRIGHT     = 0xD4,
        WALLSDOWNDRIGHT   = 0xD5,
        WALLDDOWNSRIGHT   = 0xD6,
        WALLDVERTSHORZ    = 0xD7,
        WALLSVERTDHORZ    = 0xD8,
        WALLSUPSLEFT      = 0xD9,
        WALLSDOWNSRIGHT   = 0xDA,
        FULLTILE          = 0xDB,
        DOWNTILE          = 0xDC,
        LEFTTILE          = 0xDD,
        RIGHTTILE         = 0xDE,
        UPTILE            = 0xDF,
        LOWALPHA          = 0xE0,
        LOWBETA           = 0xE1,
        GAMMA             = 0xE2,
        LOWPI             = 0xE3,
        SIGMA             = 0xE4,
        LOWSIGMA          = 0xE5,
        LOWMU             = 0xE6,
        LOWGAMMA          = 0xE7,
        PHI               = 0xE8,
        LOWTHETA          = 0xE9,
        OMEGA             = 0xEA,
        LOWDELTA          = 0xEB,
        INFINITE          = 0xEC,
        LOWPHI            = 0xED,
        MEMBER            = 0xEE,
        INTERSECT         = 0xEF,
        CONGRUENT         = 0xF0,
        PLUSMINUS         = 0xF1,
        GREATEROREQUAL    = 0xF2,
        LESSOREQUAL       = 0xF3,
        UPLONGS           = 0xF4,
        DOWNLONGS         = 0xF5,
        DIVIDE            = 0xF6,
        APPROX            = 0xF7,
        DEGREE            = 0xF8,
        PRODUCT           = 0xF9,
        DOT               = 0xFA,
        ROOT              = 0xFB,
        POWERN            = 0xFC,
        SQUARED           = 0xFD,
        BOX               = 0xFE,
        LAST              = 0xFF
    };
};

#endif
